import java.util.Scanner;

public class j2 {
    //判断闰年
    /*public static boolean isLearYear(int year){
        if((0==year%4&&0!=year%100)||0==year%400){
            System.out.println(year+"是闰年");
            return true;
        }
        System.out.println(year+"不是闰年");
        return false;
    }
    public static void main(String[] args) {
       int year=1002;
       //方法的调用
        isLearYear(2022);

public static boolean isLearYear(int year){
        if((0==year%4&&0!=year%100)||0==year%400){
            return true;
        }
        return false;
    }
*/
    /*public static void main(String[] args) {
       //方法的调用
        boolean flg=isLearYear(2022);
        System.out.println(flg);
}*/

    //两数相加
    /*public static int add(int a,int b){
        return a+b;
    }*/

//求阶乘和
    /*public static int fac(int n){
        int ret=1;
        for (int i = 1; i <=n; i++) {
            ret*=i;
        }
        return ret;
    }

    public static int facSum(int n){
        int sum=0;
        for (int i = 1; i <=n; i++) {
            sum+=fac(i);
        }
        return sum;
    }
public static void main(String[] args) {
    System.out.println(facSum(5));
}*/

    //方法重载
    //方法名同，参数列表不同（数据类型，个数，顺序），返回值不影响重载
    /*public static int add(int a,int b){
        return a+b;
    }
    public static int add(double a, double b){
        return (int)(a+b);
    }

    public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(add(a, b));

        double c=12.5;
        double d=18.5;
        System.out.println(add(c, d));
    }*/

    //递归
    //求阶乘
   /* public static int funFac(int n){
        if(n==1){
            return 1;
        }
        int tmp=n*funFac(n-1);
        return tmp;
    }
    public static void main(String[] args) {
        System.out.println(funFac(5));
    }*/

    //打印出一个整数的每一位
   /* public static void print(int n){
        if(n<10){
            System.out.println(n);
            return;
        }
        print(n/10);
        System.out.println(n%10);
    }
    public static void main(String[] args) {
        print(123);
    }*/

    //求和
    /*public static int sumN(int n){
        if(n==1){
            return 1;
        }
        int tmp=n+sumN(n-1);
        return tmp;
    }
    public static void main(String[] args) {
            sumN(13);*/

    //一个数的每一位相加
   /* public static int func(int n) {
        if (n < 10) {
            return n;
        }
        return func(n/10)+n%10;
    }*/
    //斐波那契额数列-->效率低
    /*public static int fib(int n){
        if(n==1){
            return 0;
        }
        if(n==2){
            return 1;
        }
        return fib(n-1)+fib(n-2);
    }

    public static void main(String[] args) {
        System.out.println(fib(1));
        System.out.println(fib(5));
    }*/

    //循环实现斐波那契额数列
    /*public static int fib(int n){
        if(n==1){
             return 0;
        }
        if(n==2){
            return 1;
        }
        int f1=0;
        int f2=1;
        int f3=-1;
        for (int i = 0; i <=n ; i++) {
            f3=f1+f2;
            f1=f2;
            f2=f3;
        }
        return f3;
    }
    public static void main(String[] args) {
        System.out.println(fib(1));
        System.out.println(fib(5));
    }
*/

    //作业1 创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
    //     要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算

   /* public static int max2(int a,int b){
        if(a>b){
            return a;
        }
        return b;
    }
    public static int max3(int a,int b,int c){
        if(max2(a,b)>c){
            return max2(a,b);
        }
        return c;
    }

    public static void main(String[] args) {
        int a=1;
        int b=2;
        int c=3;
        System.out.println(max3(a,b,c));
    }*/

    /*public static int max2(int a,int b) {
        return a > b ? a:b;
    }

    public static int max3(int a,int b,int c) {
        int max = max2(a,b);
        return max > c ? max : c;
    }
    public static void main(String[] args) {
        System.out.println(max3(2, 5, 1));
    }*/

    //作业2 求n得阶乘
   /* public static int fac(int n){
        int ret=1;
        for (int i = 1; i <=n; i++) {
            ret*=i;
        }
        return ret;
    }
    public static void main(String[] args) {
        System.out.println(fac(5));
    }*/

    //作业3 求1！+2！+3！+4！+........+n!的和
   /* public static void main(String[] args) {
        int sum=0;
        int n=3;
        for (int i = 0; i <=n; i++) {
            int ret=1;
            for (int j = 1; j <=i ; j++) {
                ret*=j;
            }
            sum+=ret;
    }
        System.out.println(sum);*/

  /*  public static int facSum(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += fac(i);
        }
        return sum;
    }
    public static int fac( int i) {
        int tmp = 1;
        for (int j = 1; j <= i; j++) {
            tmp *= j;
        }
        return tmp;
    }
    public static void main(String[] args) {
        int ret = facSum(5);
        System.out.println(ret);
    }
*/


    }

























}
